Suppose that a company wants to compute an estimate of the amount of tax an employee needs to pay and write a suitable message. Income below $8,000 is not taxed, income from $8,000 to $20,000 is taxed at 20% income from $20,000 to $35,000 is taxed at 29% and income above $35,000 is taxed at 40%.
//If example 5 Local CurrencyVar tax := 0; Local CurrencyVar income := {Employee.Salary}; Local StringVar message := ""; If income < 8000 Then ( message := "no"; tax := 0 ) Else If income >= 8000 And income < 20000 Then ( message := "lowest"; tax := (income - 8000)*0.20 ) Else If income >= 20000 And income < 35000 Then ( message := "middle"; tax := (20000 - 8000)*0.20 + (income - 20000)*0.29 ) Else ( message := "highest"; tax := (20000 - 8000)*0.20 + (35000 - 20000)*0.29 + (income - 35000)*0.40 ); //Use 2 decimal places and the comma as a //thousands separator Local StringVar taxStr := CStr (tax, 2, ","); "You are in the " & message & " tax bracket. " & "Your estimated tax is " & taxStr & "."
Note: The use of variables is to simplify the logic of the computation. Also, there are 2 expressions that are executed when one of the conditions are met; one assigns the tax variable, and the other assigns the message variable. It is often useful to have multiple expressions executed as a result of a condition.
Seagate Software IMG Holdings, Inc. http://www.seagatesoftware.com Support services: http://support.seagatesoftware.com |